// 引入全局的app.js文件对象
const app = getApp();
import Dialog from '@vant/weapp/dialog/dialog';
// pages/my/two/two.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isok: true,
    isokk: false,
    listData: [], //已完成的数据
    pageNum: 1, //当前页码
    pageSize: 2, //每页条数
    pageTotal: 0,
    url: '',
    status: 1,
    currentUserInfo: {},
    isLoading: false,
    imgUrl: 'http://localhost:8080/file/downLoad?fileName=',
    show: false, //弹出框
  },
  yes() {
    this.setData({
      isok: true,
      isokk: false,
      isLoading: false,
      listData: [], //已完成的数据
      pageNum: 1, //当前页码
      pageTotal: 0,
      status: 1,
    })
    this.loadMore();
  },
  no() {
    //初始数据
    this.setData({
      isok: false,
      isokk: true,
      isLoading: false,
      listData: [], //已完成的数据
      pageNum: 1, //当前页码
      pageTotal: 0,
      status: 0,

      value: 0, //评分
      consult: {}, //当前咨询师信息
    })
    this.loadMore();
  },



  cancel(event) {
    var cur = event.currentTarget.dataset;
    // console.log(cur.status.status); //cur.status.status是这一行的数据
    // console.log(status);
    this.setData({
      consult: cur.status, //当前行数据
    });
    // console.log(this.data.consult);
    //0 预约中  4取消
    if (this.data.consult.status == 4) {
      return;
    }
    Dialog.confirm({
        title: '确认取消预约吗？',
        // message: '弹窗内容',
      })
      .then(() => {
        // on confirm
        wx.request({
          url: this.data.url+'/appointment/cancelAppointment',
          method:'GET',
          data:{appId:this.data.consult.id}, //这个是appid
          success:(res)=>{
            if (res.data.code != 1) {
              wx.showToast({
                title: '取消失败！',
                icon: 'error'
              })
            } else {
              wx.showToast({
                title: '取消成功！',
                icon: 'success'
              })
            }
          },
          complete: () => {
            //取消成功之后刷新页面
            this.onLoad()
          }
        })
      })
      .catch(() => {
        // on cancel
        return;
      });
  },
  //弹出评分
  showPopup(event) {

    //2 未评价   3 已评价
    var cur = event.currentTarget.dataset;
    // console.log(cur.status.status); //cur.status.status是这一行的数据
    // console.log(status);
    this.setData({
      // show: true,
      consult: cur.status,
    });
    //状态=2让用户评价

    //状态=3查询当前咨询师的评价信息，用户不能再评价
    if (this.data.consult.status == 3) {
      this.setData({
        show: false,
      })
      wx.showToast({
        title: '您已评价过了！',
        icon: 'error'
      })
    }else{
      this.setData({
        'show':true
      })
    }

  },
  //隐藏
  onClose() {

    //隐藏的时候默认提交评分
    if (this.data.consult.status == 2) {
      // console.log(this.data.consult.status);
      // console.log(this.data.consult.consultId);
      // console.log(this.data.currentUserInfo.id);
      //未评价可以发送请求提交评分
      wx.request({
        url: this.data.url + '/userMark/scoring',
        method: 'PUT',
        data: {
          mark_star: this.data.value,
          consult_id: this.data.consult.consultId,
          user_id: this.data.currentUserInfo.id,
          id: this.data.consult.id,
        },
        success: (res) => {
          // console.log(res);
          if (res.data.code != 1) {
            wx.showToast({
              title: '打分失败！',
              icon: 'error'
            })
          } else {
            wx.showToast({
              title: '打分成功！',
              icon: 'success'
            })
          }
        },
        complete: () => {
          //打分成功之后刷新页面
          this.onLoad()
        }
      })
    }

    this.setData({
      show: false,
      value: 0,
    });
  },

  //评分改变
  onChange(event) {
    this.setData({
      value: event.detail,
    });
  },

  //获取当前用户已完成的咨询信息
  loadMore: function () {
    // 显示加载中
    wx.showLoading({
      title: '数据加载中...',
      icon: 'loading'
    })
    //发送请求加载数据
    wx.request({
      url: this.data.url + '/appointment/selectAppointmentByUserId',
      data: {
        pageNum: this.data.pageNum,
        pageSize: this.data.pageSize,
        userId: this.data.currentUserInfo.id,
        status: this.data.status
      },
      method: 'GET',
      success: (res) => {
        if (res.data.code != 1) {
          wx.showToast({
            title: '查询失败！',
            icon: 'error'
          })
        }
        // console.log(res.data.data[0].total);
        this.setData({
          'listData': [...this.data.listData, ...res.data.data],
          'pageTotal': res.data.data[0].total
        })
        // console.log(this.data.listData);
        // console.log(this.data.listData[0].total);
      },
      complete: () => {
        this.setData({
          'isLoading': false,
        })
        // 关闭加载提示框
        wx.hideLoading()
      }
    })
  },
  //获取当前用户未完成的咨询信息
  loadMoreCompleteIncomplete: function () {

  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    //初始数据
    this.setData({
      listData: [], //列表数据
      pageNum: 1, //当前页码
      pageTotal: 0,
      value: 0, //评分
    })
    let user = wx.getStorageSync('UserInfo')
    // 获取全局的url赋值给当前页面的URL变量
    this.setData({
      'url': app.globalData.URL,
      'currentUserInfo': user,
    })
    this.loadMore();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    this.setData({
      'pageNum': this.data.pageNum + 1,
    })
    // console.log(this.data.pageNum);
    // console.log(this.data.pageTotal);
    if (this.data.pageNum > this.data.pageTotal/this.data.pageSize+1) {
      wx.showToast({
        title: '没有更多数据！',
        icon: 'error'
      })
      return
    }
    this.loadMore()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})